package com.tuanzi.loan.business.service.xhh.settlementsystem;

import com.tuanzi.loan.business.entity.xhh.settlementsystem.XhhSettlementBill;
import com.tuanzi.loan.business.entity.xhh.settlementsystem.XhhSettlementCompany;
import com.tuanzi.loan.core.service.BaseAuditService;
import com.tuanzi.loan.core.vo.PageSearcher;
import com.tuanzi.loan.vo.request.xhh.settlementsystem.XhhSettlementBillRequest;
import com.tuanzi.loan.vo.response.xhh.settlementsystem.XhhSettlementBillResponse;
import org.springframework.data.domain.Page;

import java.util.List;
import java.util.Map;

/**
 * @author caiwanlin
 * @create 2018-08-16 20:02
 */
public interface XhhSettlementBillService extends BaseAuditService<XhhSettlementBill,Long> {
    Page<XhhSettlementBillResponse> list(PageSearcher<XhhSettlementBillRequest> pageSearcher);

    /**
     * @param settlementCompany
     * @return
     */
    XhhSettlementBill structureSettlementBill(XhhSettlementCompany settlementCompany);

    void onSave(XhhSettlementBill settlementBill, List<Long> selectIncomeId);

    String validateBill(XhhSettlementBill settlementBill);

    void changeBillStatus(String businessKey, Map<String, Object> taskVariables);


}
